[INFO] cloning repository https://github.com/xarkes/bwrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xarkes/bwrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxarkes%2Fbwrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxarkes%2Fbwrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5c646161c2979a7f900bfa780622ed2d758b813
[INFO] checking xarkes/bwrs against try#f4690f24e7d9bcb0b168a02b06dd61391e8bd55a for pr-157814-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxarkes%2Fbwrs" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xarkes/bwrs
[INFO] finished tweaking git repo https://github.com/xarkes/bwrs
[INFO] tweaked toml for git repo https://github.com/xarkes/bwrs written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xarkes/bwrs on toolchain f4690f24e7d9bcb0b168a02b06dd61391e8bd55a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xarkes/bwrs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7cf07dcec6eec8f91d8fcff9552b5c74122c05467aaf1800be6da9d6f61e2ab2" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db
[INFO] running `Command { std: "docker" "start" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db" "/opt/rustwide/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db" "/opt/rustwide/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking value-bag v1.12.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling wayland-sys v0.31.8
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling wayland-client v0.31.12
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling wayland-scanner v0.31.8
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking kurbo v0.9.5
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling wayland-backend v0.3.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking siphasher v0.3.11
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking epaint_default_fonts v0.30.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]     Checking svgtypes v0.13.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling toml_parser v1.0.8+spec-1.1.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking rctree v0.5.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking imagesize v0.12.0
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking roxmltree v0.19.0
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling mime_guess2 v2.3.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]    Compiling dark-light v2.0.0
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking async-io v2.6.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking async-signal v0.2.13
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking usvg-tree v0.37.0
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking wayland-protocols v0.32.10
[INFO] [stderr]     Checking wayland-cursor v0.31.12
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking usvg-parser v0.37.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking async-std v1.13.2
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking usvg v0.37.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking resvg v0.37.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking emath v0.30.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking zvariant_utils v3.3.0
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking ecolor v0.30.0
[INFO] [stderr]    Compiling zvariant_derive v5.9.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking epaint v0.30.0
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking webbrowser v1.1.0
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]    Compiling zvariant v5.9.2
[INFO] [stderr]     Checking ehttp v0.5.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking egui v0.30.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.10
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.10
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.10
[INFO] [stderr]     Checking zbus_names v4.3.1
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]    Compiling zbus_macros v5.13.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking zbus v5.13.2
[INFO] [stderr]     Checking egui_glow v0.30.0
[INFO] [stderr]     Checking egui_extras v0.30.0
[INFO] [stderr]     Checking egui-winit v0.30.0
[INFO] [stderr]     Checking eframe v0.30.0
[INFO] [stderr]     Checking ashpd v0.10.3
[INFO] [stderr]     Checking bitwarden-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::crypto::EncString`
[INFO] [stdout]  --> src/api/models.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::crypto::EncString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/api/identity.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `identity::*`
[INFO] [stdout]   --> src/api/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use identity::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::*`
[INFO] [stdout]   --> src/api/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use sync::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApiUrls`, `TwoFactorProviderType`, and `TwoFactorProvider`
[INFO] [stdout]  --> src/app.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::api::{ApiUrls, BitwardenClient, CipherType, TwoFactorProvider, TwoFactorProviderType};
[INFO] [stdout]   |                  ^^^^^^^                               ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SymmetricCryptoKey`
[INFO] [stdout]  --> src/app.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::crypto::{DerivedKeys, KdfParams, SymmetricCryptoKey};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MasterKey` and `MasterPasswordHash`
[INFO] [stdout]   --> src/crypto/mod.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use master_key::{DerivedKeys, MasterKey, MasterPasswordHash};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `decrypt` and `encrypt`
[INFO] [stdout]   --> src/crypto/mod.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use symmetric::{decrypt, encrypt, SymmetricCryptoKey};
[INFO] [stdout]    |                     ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]  --> src/state/auth.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CipherResponse` and `FolderResponse`
[INFO] [stdout]  --> src/state/background.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     CipherResponse, FolderResponse, SyncResponse, TwoFactorProvider, TwoFactorProviderType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::SavedCredentials`
[INFO] [stdout]   --> src/state/background.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::storage::SavedCredentials;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncString` and `SymmetricCryptoKey`
[INFO] [stdout]  --> src/storage/database.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::crypto::{EncString, KdfParams, KdfType, SymmetricCryptoKey};
[INFO] [stdout]   |                     ^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueuedOperation`
[INFO] [stdout]   --> src/storage/mod.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use queue::{EntityType, OfflineQueue, OperationType, QueuedOperation};
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/ui/components/buttons.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Button, Color32, Response, RichText, Rounding, Stroke, Ui, Vec2};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/ui/components/password_field.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Color32, Response, RichText, TextEdit, Ui, Widget};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32` and `Vec2`
[INFO] [stdout]  --> src/ui/login.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, Align, CentralPanel, Color32, Frame, Layout, Margin, RichText, TextEdit, Vec2,
[INFO] [stdout]   |                                ^^^^^^^                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::BackgroundRequest`
[INFO] [stdout]  --> src/ui/two_factor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::state::BackgroundRequest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/ui/unlock.rs:3:80
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Align, CentralPanel, Frame, Layout, Margin, RichText, Vec2};
[INFO] [stdout]   |                                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Layout`, `Margin`, and `RichText`
[INFO] [stdout]  --> src/ui/vault/item_editor.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Frame, Layout, Margin, RichText, ScrollArea, TextEdit, Window};
[INFO] [stdout]   |                          ^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout` and `RichText`
[INFO] [stdout]  --> src/ui/vault/item_list.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Frame, Layout, Margin, RichText, ScrollArea, Sense, TextEdit, Vec2};
[INFO] [stdout]   |                                 ^^^^^^          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `theme::Theme`
[INFO] [stdout]   --> src/ui/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use theme::Theme;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CipherSecureNoteResponse` and `CipherUriResponse`
[INFO] [stdout]  --> src/vault/cipher.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     CipherRequest, CipherResponse, CipherSecureNoteRequest, CipherSecureNoteResponse,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     CipherSshKeyRequest, CipherSshKeyResponse, CipherType, CipherUriRequest, CipherUriResponse,
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/vault/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Sender`
[INFO] [stdout]  --> src/views/vault_view.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::SymmetricCryptoKey`
[INFO] [stdout]   --> src/views/vault_view.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::crypto::SymmetricCryptoKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundResponse` and `CryptoState`
[INFO] [stdout]   --> src/views/vault_view.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::state::{BackgroundResponse, CryptoState, VaultState};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Folder`
[INFO] [stdout]   --> src/views/vault_view.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::vault::{Cipher, Folder};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `login_view::LoginView`
[INFO] [stdout]  --> src/views/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use login_view::LoginView;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vault_view::VaultView`
[INFO] [stdout]  --> src/views/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use vault_view::VaultView;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::EncString`
[INFO] [stdout]  --> src/api/models.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::crypto::EncString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/api/identity.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `identity::*`
[INFO] [stdout]   --> src/api/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use identity::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::*`
[INFO] [stdout]   --> src/api/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use sync::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApiUrls`, `TwoFactorProviderType`, and `TwoFactorProvider`
[INFO] [stdout]  --> src/app.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::api::{ApiUrls, BitwardenClient, CipherType, TwoFactorProvider, TwoFactorProviderType};
[INFO] [stdout]   |                  ^^^^^^^                               ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SymmetricCryptoKey`
[INFO] [stdout]  --> src/app.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::crypto::{DerivedKeys, KdfParams, SymmetricCryptoKey};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MasterKey` and `MasterPasswordHash`
[INFO] [stdout]   --> src/crypto/mod.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use master_key::{DerivedKeys, MasterKey, MasterPasswordHash};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `decrypt` and `encrypt`
[INFO] [stdout]   --> src/crypto/mod.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use symmetric::{decrypt, encrypt, SymmetricCryptoKey};
[INFO] [stdout]    |                     ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]  --> src/state/auth.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CipherResponse` and `FolderResponse`
[INFO] [stdout]  --> src/state/background.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     CipherResponse, FolderResponse, SyncResponse, TwoFactorProvider, TwoFactorProviderType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::SavedCredentials`
[INFO] [stdout]   --> src/state/background.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::storage::SavedCredentials;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncString` and `SymmetricCryptoKey`
[INFO] [stdout]  --> src/storage/database.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::crypto::{EncString, KdfParams, KdfType, SymmetricCryptoKey};
[INFO] [stdout]   |                     ^^^^^^^^^                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueuedOperation`
[INFO] [stdout]   --> src/storage/mod.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use queue::{EntityType, OfflineQueue, OperationType, QueuedOperation};
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/ui/components/buttons.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Button, Color32, Response, RichText, Rounding, Stroke, Ui, Vec2};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/ui/components/password_field.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Color32, Response, RichText, TextEdit, Ui, Widget};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32` and `Vec2`
[INFO] [stdout]  --> src/ui/login.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 |     self, Align, CentralPanel, Color32, Frame, Layout, Margin, RichText, TextEdit, Vec2,
[INFO] [stdout]   |                                ^^^^^^^                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::BackgroundRequest`
[INFO] [stdout]  --> src/ui/two_factor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::state::BackgroundRequest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/ui/unlock.rs:3:80
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Align, CentralPanel, Frame, Layout, Margin, RichText, Vec2};
[INFO] [stdout]   |                                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Layout`, `Margin`, and `RichText`
[INFO] [stdout]  --> src/ui/vault/item_editor.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Frame, Layout, Margin, RichText, ScrollArea, TextEdit, Window};
[INFO] [stdout]   |                          ^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout` and `RichText`
[INFO] [stdout]  --> src/ui/vault/item_list.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{self, Frame, Layout, Margin, RichText, ScrollArea, Sense, TextEdit, Vec2};
[INFO] [stdout]   |                                 ^^^^^^          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `theme::Theme`
[INFO] [stdout]   --> src/ui/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use theme::Theme;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CipherSecureNoteResponse` and `CipherUriResponse`
[INFO] [stdout]  --> src/vault/cipher.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     CipherRequest, CipherResponse, CipherSecureNoteRequest, CipherSecureNoteResponse,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     CipherSshKeyRequest, CipherSshKeyResponse, CipherType, CipherUriRequest, CipherUriResponse,
[INFO] [stdout]   |                                                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/vault/mod.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Sender`
[INFO] [stdout]  --> src/views/vault_view.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::SymmetricCryptoKey`
[INFO] [stdout]   --> src/views/vault_view.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::crypto::SymmetricCryptoKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundResponse` and `CryptoState`
[INFO] [stdout]   --> src/views/vault_view.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::state::{BackgroundResponse, CryptoState, VaultState};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Folder`
[INFO] [stdout]   --> src/views/vault_view.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::vault::{Cipher, Folder};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `login_view::LoginView`
[INFO] [stdout]  --> src/views/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use login_view::LoginView;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vault_view::VaultView`
[INFO] [stdout]  --> src/views/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use vault_view::VaultView;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/components/buttons.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |         .stroke(Stroke::new(1.0, visuals.widgets.inactive.fg_stroke.color))
[INFO] [stdout]    |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/device_verification.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/login.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]     |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/settings.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/settings.rs:103:47
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:150:44
[INFO] [stdout]     |
[INFO] [stdout] 150 |     visuals.selection.stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:158:60
[INFO] [stdout]     |
[INFO] [stdout] 158 |     visuals.widgets.noninteractive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:159:60
[INFO] [stdout]     |
[INFO] [stdout] 159 |     visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, TEXT_SECONDARY);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |     visuals.widgets.inactive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:165:54
[INFO] [stdout]     |
[INFO] [stdout] 165 |     visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:170:53
[INFO] [stdout]     |
[INFO] [stdout] 170 |     visuals.widgets.hovered.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:171:53
[INFO] [stdout]     |
[INFO] [stdout] 171 |     visuals.widgets.hovered.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:176:52
[INFO] [stdout]     |
[INFO] [stdout] 176 |     visuals.widgets.active.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:177:52
[INFO] [stdout]     |
[INFO] [stdout] 177 |     visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:182:50
[INFO] [stdout]     |
[INFO] [stdout] 182 |     visuals.widgets.open.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:183:50
[INFO] [stdout]     |
[INFO] [stdout] 183 |     visuals.widgets.open.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:189:41
[INFO] [stdout]     |
[INFO] [stdout] 189 |     visuals.window_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:218:44
[INFO] [stdout]     |
[INFO] [stdout] 218 |     visuals.selection.stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:226:60
[INFO] [stdout]     |
[INFO] [stdout] 226 |     visuals.widgets.noninteractive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:227:60
[INFO] [stdout]     |
[INFO] [stdout] 227 |     visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, TEXT_SECONDARY);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:232:54
[INFO] [stdout]     |
[INFO] [stdout] 232 |     visuals.widgets.inactive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:233:54
[INFO] [stdout]     |
[INFO] [stdout] 233 |     visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 |     visuals.widgets.hovered.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:239:53
[INFO] [stdout]     |
[INFO] [stdout] 239 |     visuals.widgets.hovered.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:244:52
[INFO] [stdout]     |
[INFO] [stdout] 244 |     visuals.widgets.active.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:245:52
[INFO] [stdout]     |
[INFO] [stdout] 245 |     visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:250:50
[INFO] [stdout]     |
[INFO] [stdout] 250 |     visuals.widgets.open.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:251:50
[INFO] [stdout]     |
[INFO] [stdout] 251 |     visuals.widgets.open.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:257:41
[INFO] [stdout]     |
[INFO] [stdout] 257 |     visuals.window_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/two_factor.rs:62:51
[INFO] [stdout]    |
[INFO] [stdout] 62 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/components/buttons.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |         .stroke(Stroke::new(1.0, visuals.widgets.inactive.fg_stroke.color))
[INFO] [stdout]    |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/unlock.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/device_verification.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/login.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]     |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/settings.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/settings.rs:103:47
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:150:44
[INFO] [stdout]     |
[INFO] [stdout] 150 |     visuals.selection.stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:158:60
[INFO] [stdout]     |
[INFO] [stdout] 158 |     visuals.widgets.noninteractive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:159:60
[INFO] [stdout]     |
[INFO] [stdout] 159 |     visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, TEXT_SECONDARY);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |     visuals.widgets.inactive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:165:54
[INFO] [stdout]     |
[INFO] [stdout] 165 |     visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:170:53
[INFO] [stdout]     |
[INFO] [stdout] 170 |     visuals.widgets.hovered.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:171:53
[INFO] [stdout]     |
[INFO] [stdout] 171 |     visuals.widgets.hovered.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:176:52
[INFO] [stdout]     |
[INFO] [stdout] 176 |     visuals.widgets.active.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:177:52
[INFO] [stdout]     |
[INFO] [stdout] 177 |     visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:182:50
[INFO] [stdout]     |
[INFO] [stdout] 182 |     visuals.widgets.open.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:183:50
[INFO] [stdout]     |
[INFO] [stdout] 183 |     visuals.widgets.open.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:189:41
[INFO] [stdout]     |
[INFO] [stdout] 189 |     visuals.window_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:218:44
[INFO] [stdout]     |
[INFO] [stdout] 218 |     visuals.selection.stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:226:60
[INFO] [stdout]     |
[INFO] [stdout] 226 |     visuals.widgets.noninteractive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:227:60
[INFO] [stdout]     |
[INFO] [stdout] 227 |     visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, TEXT_SECONDARY);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:232:54
[INFO] [stdout]     |
[INFO] [stdout] 232 |     visuals.widgets.inactive.bg_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:233:54
[INFO] [stdout]     |
[INFO] [stdout] 233 |     visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 |     visuals.widgets.hovered.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:239:53
[INFO] [stdout]     |
[INFO] [stdout] 239 |     visuals.widgets.hovered.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:244:52
[INFO] [stdout]     |
[INFO] [stdout] 244 |     visuals.widgets.active.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:245:52
[INFO] [stdout]     |
[INFO] [stdout] 245 |     visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]     |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:250:50
[INFO] [stdout]     |
[INFO] [stdout] 250 |     visuals.widgets.open.bg_stroke = Stroke::new(1.0, colors::PRIMARY_BLUE);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:251:50
[INFO] [stdout]     |
[INFO] [stdout] 251 |     visuals.widgets.open.fg_stroke = Stroke::new(1.0, TEXT_PRIMARY);
[INFO] [stdout]     |                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/ui/theme.rs:257:41
[INFO] [stdout]     |
[INFO] [stdout] 257 |     visuals.window_stroke = Stroke::new(1.0, BORDER);
[INFO] [stdout]     |                                         ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/two_factor.rs:62:51
[INFO] [stdout]    |
[INFO] [stdout] 62 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/ui/unlock.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |                         .stroke(egui::Stroke::new(1.0, theme.border()))
[INFO] [stdout]    |                                                   ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::child_ui`: Use ui.new_child() instead
[INFO] [stdout]    --> src/ui/vault/sidebar.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut button_ui = ui.child_ui(
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::child_ui`: Use ui.new_child() instead
[INFO] [stdout]    --> src/ui/vault/sidebar.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut button_ui = ui.child_ui(
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/app.rs:672:48
[INFO] [stdout]     |
[INFO] [stdout] 672 |     fn show_folder_editor(ctx: &egui::Context, theme: &Theme, editor: &mut FolderEditor) -> FolderEditorAction {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/app.rs:672:48
[INFO] [stdout]     |
[INFO] [stdout] 672 |     fn show_folder_editor(ctx: &egui::Context, theme: &Theme, editor: &mut FolderEditor) -> FolderEditorAction {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/app.rs:1528:37
[INFO] [stdout]      |
[INFO] [stdout] 1528 | ...                   Err(e) => {
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/app.rs:1528:37
[INFO] [stdout]      |
[INFO] [stdout] 1528 | ...                   Err(e) => {
[INFO] [stdout]      |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/vault/item_editor.rs:185:49
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn show(&mut self, ctx: &egui::Context, theme: &Theme, folders: &[Folder]) -> EditorAction {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/ui/vault/item_list.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         let response = ui.add(
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_right`
[INFO] [stdout]    --> src/ui/vault/item_list.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let text_right = if cipher.favorite {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/vault/item_editor.rs:185:49
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn show(&mut self, ctx: &egui::Context, theme: &Theme, folders: &[Folder]) -> EditorAction {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]   --> src/ui/vault/item_list.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         let response = ui.add(
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_right`
[INFO] [stdout]    --> src/ui/vault/item_list.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let text_right = if cipher.favorite {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_tx`
[INFO] [stdout]   --> src/views/login_view.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         response_tx: &Sender<BackgroundResponse>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two_factor_password_hash`
[INFO] [stdout]   --> src/views/login_view.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         two_factor_password_hash: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_two_factor_password_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two_factor_kdf_params`
[INFO] [stdout]   --> src/views/login_view.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         two_factor_kdf_params: Option<&crate::crypto::KdfParams>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_two_factor_kdf_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TwoFactorFailed`, `AccountLocked`, `Network`, and `TokenExpired` are never constructed
[INFO] [stdout]    --> src/api/mod.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout]  64 | pub enum ApiError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  82 |     TwoFactorFailed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     AccountLocked,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     Network(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     TokenExpired,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/api/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum DeviceType {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 113 |     Android = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 114 |     Ios = 1,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 115 |     ChromeExtension = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 116 |     FirefoxExtension = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     OperaExtension = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     EdgeExtension = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     WindowsDesktop = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     MacOsDesktop = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 121 |     LinuxDesktop = 8,
[INFO] [stdout] 122 |     ChromeBrowser = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 123 |     FirefoxBrowser = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     OperaBrowser = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 125 |     EdgeBrowser = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 126 |     IeBrowser = 13,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 127 |     UnknownBrowser = 14,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     AndroidAmazon = 15,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 129 |     Uwp = 16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 130 |     SafariBrowser = 17,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 131 |     VivaldiBrowser = 18,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 132 |     VivaldiExtension = 19,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     SafariExtension = 20,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     Sdk = 21,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 135 |     Server = 22,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 136 |     WindowsCli = 23,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 137 |     MacOsCli = 24,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 138 |     LinuxCli = 25,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `identity_url`, `api_url`, `clear_tokens`, `is_authenticated`, `get_access_token`, and `get_refresh_token` are never used
[INFO] [stdout]   --> src/api/client.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl BitwardenClient {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn identity_url(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn api_url(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub async fn clear_tokens(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub async fn is_authenticated(&self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn get_access_token(&self) -> Option<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub async fn get_refresh_token(&self) -> Option<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/api/models.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct TwoFactorProvider {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub data: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwoFactorProvider` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/api/models.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TokenResponse {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 47 |     pub access_token: String,
[INFO] [stdout] 48 |     pub expires_in: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 49 |     pub token_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub private_key: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 57 |     #[serde(alias = "Kdf")]
[INFO] [stdout] 58 |     pub kdf: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 59 |     #[serde(alias = "KdfIterations")]
[INFO] [stdout] 60 |     pub kdf_iterations: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     #[serde(default, alias = "KdfMemory")]
[INFO] [stdout] 62 |     pub kdf_memory: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 63 |     #[serde(default, alias = "KdfParallelism")]
[INFO] [stdout] 64 |     pub kdf_parallelism: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     #[serde(default, alias = "ForcePasswordReset")]
[INFO] [stdout] 66 |     pub force_password_reset: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     #[serde(default, alias = "ResetMasterPassword")]
[INFO] [stdout] 68 |     pub reset_master_password: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `validation_errors` is never read
[INFO] [stdout]   --> src/api/models.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct ErrorModel {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub validation_errors: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/api/models.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Profile {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 103 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 104 |     #[serde(default)]
[INFO] [stdout] 105 |     pub name: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 106 |     pub email: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 107 |     #[serde(default)]
[INFO] [stdout] 108 |     pub email_verified: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     #[serde(default)]
[INFO] [stdout] 110 |     pub premium: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 111 |     #[serde(default)]
[INFO] [stdout] 112 |     pub master_password_hint: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     pub key: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 114 |     #[serde(default)]
[INFO] [stdout] 115 |     pub private_key: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 116 |     pub security_stamp: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Profile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profile`, `collections`, `policies`, and `sends` are never read
[INFO] [stdout]    --> src/api/models.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct SyncResponse {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 305 |     #[serde(default)]
[INFO] [stdout] 306 |     pub profile: Option<Profile>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub collections: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 313 |     #[serde(default)]
[INFO] [stdout] 314 |     pub policies: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 315 |     #[serde(default)]
[INFO] [stdout] 316 |     pub sends: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refresh_token` and `logout` are never used
[INFO] [stdout]    --> src/api/identity.rs:98:18
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl BitwardenClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub async fn refresh_token(&self) -> Result<TokenResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn logout(&self) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_full` is never used
[INFO] [stdout]   --> src/api/sync.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl BitwardenClient {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub async fn sync_full(&self) -> Result<SyncResponse, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `delete_cipher`, `restore_cipher`, and `get_cipher` are never used
[INFO] [stdout]    --> src/api/cipher.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl BitwardenClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub async fn delete_cipher(&self, id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn restore_cipher(&self, id: &str) -> Result<CipherResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn get_cipher(&self, id: &str) -> Result<CipherResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bg_request_tx` and `bg_request_rx` are never read
[INFO] [stdout]   --> src/app.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct BitwardenApp {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |     bg_request_tx: Sender<BackgroundRequest>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     bg_request_rx: Receiver<BackgroundRequest>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `encrypted_user_key` is never read
[INFO] [stdout]   --> src/app.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct PendingLogin {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     encrypted_user_key: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_symmetric_key` is never used
[INFO] [stdout]    --> src/crypto/master_key.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl MasterKey {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn as_symmetric_key(&self) -> SymmetricCryptoKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mac_key` is never used
[INFO] [stdout]   --> src/crypto/symmetric.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl SymmetricCryptoKey {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn mac_key(&self) -> &[u8; 32] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kdf_params` is never read
[INFO] [stdout]   --> src/state/auth.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LoggingIn {
[INFO] [stdout]    |     --------- field in this variant
[INFO] [stdout] 17 |         email: String,
[INFO] [stdout] 18 |         kdf_params: KdfParams,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `providers` and `selected_provider` are never read
[INFO] [stdout]   --> src/state/auth.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     AwaitingTwoFactor {
[INFO] [stdout]    |     ----------------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 26 |         providers: Vec<TwoFactorProvider>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 27 |         selected_provider: Option<TwoFactorProviderType>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_logged_out`, `is_unlocked`, `needs_two_factor`, and `is_locked` are never used
[INFO] [stdout]   --> src/state/auth.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl AuthState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 59 |     /// Check if the user is logged out.
[INFO] [stdout] 60 |     pub fn is_logged_out(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn is_unlocked(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn needs_two_factor(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `search`, `get_cipher_mut`, and `folder_name` are never used
[INFO] [stdout]    --> src/state/vault_state.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl VaultState {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  18 |     /// Create a new empty vault state.
[INFO] [stdout]  19 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn search(&self, query: &str) -> Vec<&Cipher> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_cipher_mut(&mut self, id: &str) -> Option<&mut Cipher> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn folder_name(&self, folder_id: &str) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/state/background.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BackgroundRequest {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Login {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     LoginWithTwoFactor {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     Sync,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     CreateCipher { cipher: Box<Cipher> },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     UpdateCipher { cipher: Box<Cipher> },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     DeleteCipher { id: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     CreateFolder { name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     UpdateFolder { id: String, name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     DeleteFolder { id: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     ProcessOfflineQueue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     RefreshToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     Logout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TokenRefreshed`, `TokenRefreshFailed`, `LoggedOut`, and `NetworkStatus` are never constructed
[INFO] [stdout]    --> src/state/background.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | pub enum BackgroundResponse {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 152 |     TokenRefreshed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     TokenRefreshFailed { error: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     LoggedOut,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     NetworkStatus { online: bool },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackgroundResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send`, `try_recv`, and `drain_responses` are never used
[INFO] [stdout]    --> src/state/background.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl BackgroundChannel {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn send(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn try_recv(&self) -> Result<BackgroundResponse, TryRecvError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn drain_responses(&self) -> Vec<BackgroundResponse> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/database.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl VaultDatabase {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  34 |     pub fn in_memory() -> Result<Self, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn set_session(&self, key: &str, value: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn delete_cached_cipher(&self, cipher_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn set_preference(&self, key: &str, value: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_preference(&self, key: &str) -> Result<Option<String>, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn clear_user_data(&self, user_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn clear_all(&self) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn clear_credentials(&self) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enqueue`, `pending_count`, and `clear` are never used
[INFO] [stdout]    --> src/storage/queue.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<'a> OfflineQueue<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn enqueue(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn pending_count(&self, user_id: &str) -> Result<usize, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn clear(&self, user_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon_button` is never used
[INFO] [stdout]   --> src/ui/components/buttons.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn icon_button(ui: &mut Ui, icon: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `link_button` is never used
[INFO] [stdout]   --> src/ui/components/buttons.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn link_button(ui: &mut Ui, text: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_EDIT` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ICON_EDIT: &str = "\u{270F}"; // Pencil
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_DELETE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ICON_DELETE: &str = "\u{1F5D1}"; // Wastebasket
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_COPY` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ICON_COPY: &str = "\u{1F4CB}"; // Clipboard
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_SHOW` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ICON_SHOW: &str = "\u{1F441}"; // Eye
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_HIDE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const ICON_HIDE: &str = "\u{1F648}"; // See-no-evil monkey
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_UNLOCK` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ICON_UNLOCK: &str = "\u{1F513}"; // Unlock
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_THEME` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ICON_THEME: &str = "\u{1F3A8}"; // Palette
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_CHECK` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ICON_CHECK: &str = "\u{2714}"; // Checkmark
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_CROSS` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ICON_CROSS: &str = "\u{2716}"; // X mark
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_ONLINE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ICON_ONLINE: &str = "\u{1F7E2}"; // Green circle
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_OFFLINE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ICON_OFFLINE: &str = "\u{1F534}"; // Red circle
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_PENDING` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ICON_PENDING: &str = "\u{1F7E1}"; // Yellow circle
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `colored_icon` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn colored_icon(ui: &mut Ui, icon: &str, color: Color32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon_with_text` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn icon_with_text(ui: &mut Ui, icon: &str, text: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `category_label` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn category_label(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/ui/components/password_field.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct PasswordField<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     id: egui::Id,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a> PasswordField<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn id(mut self, id: impl std::hash::Hash) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_field_labeled` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn password_field_labeled(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text_field_labeled` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn text_field_labeled(ui: &mut Ui, label: &str, text: &mut String, hint: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_button` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn copy_button(ui: &mut Ui, text: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_display` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn password_display(ui: &mut Ui, password: &str, show: &mut bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/ui/device_verification.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DeviceVerificationScreen {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_error` is never used
[INFO] [stdout]    --> src/ui/login.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl LoginScreen {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn clear_error(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]   --> src/ui/settings.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SettingsView {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `text_muted` is never used
[INFO] [stdout]    --> src/ui/theme.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl Theme {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn text_muted(&self) -> Color32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_BLUE_HOVER` is never used
[INFO] [stdout]   --> src/ui/theme.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub const PRIMARY_BLUE_HOVER: Color32 = Color32::from_rgb(18, 74, 176); // Darker
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUCCESS_GREEN` is never used
[INFO] [stdout]   --> src/ui/theme.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub const SUCCESS_GREEN: Color32 = Color32::from_rgb(16, 124, 65); // #107C41
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARNING_YELLOW` is never used
[INFO] [stdout]   --> src/ui/theme.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub const WARNING_YELLOW: Color32 = Color32::from_rgb(255, 191, 0); // #FFBF00
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_MUTED` is never used
[INFO] [stdout]    --> src/ui/theme.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         pub const TEXT_MUTED: Color32 = Color32::from_rgb(100, 106, 123);
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BORDER_FOCUS` is never used
[INFO] [stdout]    --> src/ui/theme.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |         pub const BORDER_FOCUS: Color32 = Color32::from_rgb(23, 93, 220);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_MUTED` is never used
[INFO] [stdout]    --> src/ui/theme.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 122 |         pub const TEXT_MUTED: Color32 = Color32::from_rgb(160, 166, 173);
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BORDER_FOCUS` is never used
[INFO] [stdout]    --> src/ui/theme.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |         pub const BORDER_FOCUS: Color32 = Color32::from_rgb(23, 93, 220);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_loading` and `set_error` are never used
[INFO] [stdout]    --> src/ui/two_factor.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl TwoFactorScreen {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn set_loading(&mut self, loading: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_error(&mut self, error: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_loading` and `clear_error` are never used
[INFO] [stdout]    --> src/ui/unlock.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl UnlockScreen {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn set_loading(&mut self, loading: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn clear_error(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> src/ui/vault/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl VaultFilter {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 27 |     pub fn label(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_item` is never used
[INFO] [stdout]    --> src/ui/vault/item_editor.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl ItemEditor {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 109 |     /// Create a new editor for adding an item.
[INFO] [stdout] 110 |     pub fn new_item(cipher_type: CipherType) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `primary_uri` is never used
[INFO] [stdout]    --> src/vault/cipher.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl Cipher {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn primary_uri(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginView` is never constructed
[INFO] [stdout]   --> src/views/login_view.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LoginView;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `show` is never used
[INFO] [stdout]   --> src/views/login_view.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl LoginView {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 17 |     /// Render the login view and handle login flow.
[INFO] [stdout] 18 |     pub fn show(
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LoginViewAction` is never used
[INFO] [stdout]   --> src/views/login_view.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum LoginViewAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VaultView` is never constructed
[INFO] [stdout]   --> src/views/vault_view.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct VaultView;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VaultViewAction` is never used
[INFO] [stdout]   --> src/views/vault_view.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum VaultViewAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `show` and `show_folder_editor` are never used
[INFO] [stdout]    --> src/views/vault_view.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl VaultView {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn show(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn show_folder_editor(ctx: &egui::Context, editor: &mut FolderEditor) -> FolderEditorAction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_tx`
[INFO] [stdout]   --> src/views/login_view.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         response_tx: &Sender<BackgroundResponse>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two_factor_password_hash`
[INFO] [stdout]   --> src/views/login_view.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         two_factor_password_hash: Option<&str>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_two_factor_password_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two_factor_kdf_params`
[INFO] [stdout]   --> src/views/login_view.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         two_factor_kdf_params: Option<&crate::crypto::KdfParams>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_two_factor_kdf_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TwoFactorFailed`, `AccountLocked`, `Network`, and `TokenExpired` are never constructed
[INFO] [stdout]    --> src/api/mod.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout]  64 | pub enum ApiError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  82 |     TwoFactorFailed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     AccountLocked,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     Network(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     TokenExpired,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/api/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub enum DeviceType {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 113 |     Android = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 114 |     Ios = 1,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 115 |     ChromeExtension = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 116 |     FirefoxExtension = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 |     OperaExtension = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     EdgeExtension = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 119 |     WindowsDesktop = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     MacOsDesktop = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 121 |     LinuxDesktop = 8,
[INFO] [stdout] 122 |     ChromeBrowser = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 123 |     FirefoxBrowser = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     OperaBrowser = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 125 |     EdgeBrowser = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 126 |     IeBrowser = 13,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 127 |     UnknownBrowser = 14,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 128 |     AndroidAmazon = 15,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 129 |     Uwp = 16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 130 |     SafariBrowser = 17,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 131 |     VivaldiBrowser = 18,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 132 |     VivaldiExtension = 19,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     SafariExtension = 20,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     Sdk = 21,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 135 |     Server = 22,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 136 |     WindowsCli = 23,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 137 |     MacOsCli = 24,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 138 |     LinuxCli = 25,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `identity_url`, `api_url`, `clear_tokens`, `is_authenticated`, `get_access_token`, and `get_refresh_token` are never used
[INFO] [stdout]   --> src/api/client.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl BitwardenClient {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn identity_url(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn api_url(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub async fn clear_tokens(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub async fn is_authenticated(&self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub async fn get_access_token(&self) -> Option<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub async fn get_refresh_token(&self) -> Option<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/api/models.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct TwoFactorProvider {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub data: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwoFactorProvider` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/api/models.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TokenResponse {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 47 |     pub access_token: String,
[INFO] [stdout] 48 |     pub expires_in: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 49 |     pub token_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub private_key: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 57 |     #[serde(alias = "Kdf")]
[INFO] [stdout] 58 |     pub kdf: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 59 |     #[serde(alias = "KdfIterations")]
[INFO] [stdout] 60 |     pub kdf_iterations: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     #[serde(default, alias = "KdfMemory")]
[INFO] [stdout] 62 |     pub kdf_memory: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 63 |     #[serde(default, alias = "KdfParallelism")]
[INFO] [stdout] 64 |     pub kdf_parallelism: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     #[serde(default, alias = "ForcePasswordReset")]
[INFO] [stdout] 66 |     pub force_password_reset: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     #[serde(default, alias = "ResetMasterPassword")]
[INFO] [stdout] 68 |     pub reset_master_password: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `validation_errors` is never read
[INFO] [stdout]   --> src/api/models.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct ErrorModel {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub validation_errors: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ErrorModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/api/models.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Profile {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 103 |     pub id: String,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 104 |     #[serde(default)]
[INFO] [stdout] 105 |     pub name: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 106 |     pub email: String,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 107 |     #[serde(default)]
[INFO] [stdout] 108 |     pub email_verified: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     #[serde(default)]
[INFO] [stdout] 110 |     pub premium: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 111 |     #[serde(default)]
[INFO] [stdout] 112 |     pub master_password_hint: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     pub key: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 114 |     #[serde(default)]
[INFO] [stdout] 115 |     pub private_key: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 116 |     pub security_stamp: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Profile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profile`, `collections`, `policies`, and `sends` are never read
[INFO] [stdout]    --> src/api/models.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct SyncResponse {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 305 |     #[serde(default)]
[INFO] [stdout] 306 |     pub profile: Option<Profile>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub collections: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 313 |     #[serde(default)]
[INFO] [stdout] 314 |     pub policies: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 315 |     #[serde(default)]
[INFO] [stdout] 316 |     pub sends: Vec<serde_json::Value>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refresh_token` and `logout` are never used
[INFO] [stdout]    --> src/api/identity.rs:98:18
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl BitwardenClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub async fn refresh_token(&self) -> Result<TokenResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn logout(&self) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_full` is never used
[INFO] [stdout]   --> src/api/sync.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl BitwardenClient {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub async fn sync_full(&self) -> Result<SyncResponse, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `delete_cipher`, `restore_cipher`, and `get_cipher` are never used
[INFO] [stdout]    --> src/api/cipher.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl BitwardenClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub async fn delete_cipher(&self, id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn restore_cipher(&self, id: &str) -> Result<CipherResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn get_cipher(&self, id: &str) -> Result<CipherResponse, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bg_request_tx` and `bg_request_rx` are never read
[INFO] [stdout]   --> src/app.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct BitwardenApp {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |     bg_request_tx: Sender<BackgroundRequest>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     bg_request_rx: Receiver<BackgroundRequest>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `encrypted_user_key` is never read
[INFO] [stdout]   --> src/app.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct PendingLogin {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     encrypted_user_key: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_symmetric_key` is never used
[INFO] [stdout]    --> src/crypto/master_key.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl MasterKey {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn as_symmetric_key(&self) -> SymmetricCryptoKey {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `mac_key` and `generate` are never used
[INFO] [stdout]   --> src/crypto/symmetric.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl SymmetricCryptoKey {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn mac_key(&self) -> &[u8; 32] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn generate() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kdf_params` is never read
[INFO] [stdout]   --> src/state/auth.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LoggingIn {
[INFO] [stdout]    |     --------- field in this variant
[INFO] [stdout] 17 |         email: String,
[INFO] [stdout] 18 |         kdf_params: KdfParams,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `providers` and `selected_provider` are never read
[INFO] [stdout]   --> src/state/auth.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     AwaitingTwoFactor {
[INFO] [stdout]    |     ----------------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 26 |         providers: Vec<TwoFactorProvider>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 27 |         selected_provider: Option<TwoFactorProviderType>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_logged_out`, `is_unlocked`, `needs_two_factor`, and `is_locked` are never used
[INFO] [stdout]   --> src/state/auth.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl AuthState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 59 |     /// Check if the user is logged out.
[INFO] [stdout] 60 |     pub fn is_logged_out(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn is_unlocked(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn needs_two_factor(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_locked(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `search`, `get_cipher_mut`, and `folder_name` are never used
[INFO] [stdout]    --> src/state/vault_state.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl VaultState {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  18 |     /// Create a new empty vault state.
[INFO] [stdout]  19 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn search(&self, query: &str) -> Vec<&Cipher> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_cipher_mut(&mut self, id: &str) -> Option<&mut Cipher> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn folder_name(&self, folder_id: &str) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/state/background.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BackgroundRequest {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Login {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     LoginWithTwoFactor {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     Sync,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     CreateCipher { cipher: Box<Cipher> },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     UpdateCipher { cipher: Box<Cipher> },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     DeleteCipher { id: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     CreateFolder { name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     UpdateFolder { id: String, name: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     DeleteFolder { id: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     ProcessOfflineQueue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     RefreshToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     Logout,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TokenRefreshed`, `TokenRefreshFailed`, `LoggedOut`, and `NetworkStatus` are never constructed
[INFO] [stdout]    --> src/state/background.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout]  71 | pub enum BackgroundResponse {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 152 |     TokenRefreshed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     TokenRefreshFailed { error: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     LoggedOut,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     NetworkStatus { online: bool },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackgroundResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send`, `try_recv`, and `drain_responses` are never used
[INFO] [stdout]    --> src/state/background.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl BackgroundChannel {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn send(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn try_recv(&self) -> Result<BackgroundResponse, TryRecvError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn drain_responses(&self) -> Vec<BackgroundResponse> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/database.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl VaultDatabase {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  34 |     pub fn in_memory() -> Result<Self, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn set_session(&self, key: &str, value: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn delete_cached_cipher(&self, cipher_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn set_preference(&self, key: &str, value: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_preference(&self, key: &str) -> Result<Option<String>, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn clear_user_data(&self, user_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn clear_all(&self) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn clear_credentials(&self) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enqueue`, `pending_count`, and `clear` are never used
[INFO] [stdout]    --> src/storage/queue.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<'a> OfflineQueue<'a> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn enqueue(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn pending_count(&self, user_id: &str) -> Result<usize, StorageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn clear(&self, user_id: &str) -> Result<(), StorageError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon_button` is never used
[INFO] [stdout]   --> src/ui/components/buttons.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn icon_button(ui: &mut Ui, icon: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `link_button` is never used
[INFO] [stdout]   --> src/ui/components/buttons.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn link_button(ui: &mut Ui, text: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_EDIT` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const ICON_EDIT: &str = "\u{270F}"; // Pencil
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_DELETE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ICON_DELETE: &str = "\u{1F5D1}"; // Wastebasket
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_COPY` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ICON_COPY: &str = "\u{1F4CB}"; // Clipboard
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_SHOW` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const ICON_SHOW: &str = "\u{1F441}"; // Eye
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_HIDE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const ICON_HIDE: &str = "\u{1F648}"; // See-no-evil monkey
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_UNLOCK` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ICON_UNLOCK: &str = "\u{1F513}"; // Unlock
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_THEME` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ICON_THEME: &str = "\u{1F3A8}"; // Palette
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_CHECK` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ICON_CHECK: &str = "\u{2714}"; // Checkmark
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_CROSS` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const ICON_CROSS: &str = "\u{2716}"; // X mark
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_ONLINE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ICON_ONLINE: &str = "\u{1F7E2}"; // Green circle
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_OFFLINE` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const ICON_OFFLINE: &str = "\u{1F534}"; // Red circle
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_PENDING` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ICON_PENDING: &str = "\u{1F7E1}"; // Yellow circle
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `colored_icon` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn colored_icon(ui: &mut Ui, icon: &str, color: Color32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon_with_text` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn icon_with_text(ui: &mut Ui, icon: &str, text: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `category_label` is never used
[INFO] [stdout]   --> src/ui/components/icons.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn category_label(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/ui/components/password_field.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct PasswordField<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     id: egui::Id,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a> PasswordField<'a> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn id(mut self, id: impl std::hash::Hash) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_field_labeled` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn password_field_labeled(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `text_field_labeled` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn text_field_labeled(ui: &mut Ui, label: &str, text: &mut String, hint: &str) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_button` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn copy_button(ui: &mut Ui, text: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `password_display` is never used
[INFO] [stdout]   --> src/ui/components/password_field.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn password_display(ui: &mut Ui, password: &str, show: &mut bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/ui/device_verification.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DeviceVerificationScreen {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_error` is never used
[INFO] [stdout]    --> src/ui/login.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl LoginScreen {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn clear_error(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `close` is never used
[INFO] [stdout]   --> src/ui/settings.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SettingsView {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn close(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `text_muted` is never used
[INFO] [stdout]    --> src/ui/theme.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl Theme {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn text_muted(&self) -> Color32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_BLUE_HOVER` is never used
[INFO] [stdout]   --> src/ui/theme.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub const PRIMARY_BLUE_HOVER: Color32 = Color32::from_rgb(18, 74, 176); // Darker
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUCCESS_GREEN` is never used
[INFO] [stdout]   --> src/ui/theme.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub const SUCCESS_GREEN: Color32 = Color32::from_rgb(16, 124, 65); // #107C41
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARNING_YELLOW` is never used
[INFO] [stdout]   --> src/ui/theme.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub const WARNING_YELLOW: Color32 = Color32::from_rgb(255, 191, 0); // #FFBF00
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_MUTED` is never used
[INFO] [stdout]    --> src/ui/theme.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         pub const TEXT_MUTED: Color32 = Color32::from_rgb(100, 106, 123);
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BORDER_FOCUS` is never used
[INFO] [stdout]    --> src/ui/theme.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |         pub const BORDER_FOCUS: Color32 = Color32::from_rgb(23, 93, 220);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_MUTED` is never used
[INFO] [stdout]    --> src/ui/theme.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 122 |         pub const TEXT_MUTED: Color32 = Color32::from_rgb(160, 166, 173);
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BORDER_FOCUS` is never used
[INFO] [stdout]    --> src/ui/theme.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |         pub const BORDER_FOCUS: Color32 = Color32::from_rgb(23, 93, 220);
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_loading` and `set_error` are never used
[INFO] [stdout]    --> src/ui/two_factor.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl TwoFactorScreen {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn set_loading(&mut self, loading: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn set_error(&mut self, error: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_loading` and `clear_error` are never used
[INFO] [stdout]    --> src/ui/unlock.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl UnlockScreen {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn set_loading(&mut self, loading: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn clear_error(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> src/ui/vault/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl VaultFilter {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 27 |     pub fn label(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_item` is never used
[INFO] [stdout]    --> src/ui/vault/item_editor.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl ItemEditor {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 109 |     /// Create a new editor for adding an item.
[INFO] [stdout] 110 |     pub fn new_item(cipher_type: CipherType) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `primary_uri` is never used
[INFO] [stdout]    --> src/vault/cipher.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl Cipher {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn primary_uri(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginView` is never constructed
[INFO] [stdout]   --> src/views/login_view.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LoginView;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `show` is never used
[INFO] [stdout]   --> src/views/login_view.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl LoginView {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 17 |     /// Render the login view and handle login flow.
[INFO] [stdout] 18 |     pub fn show(
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LoginViewAction` is never used
[INFO] [stdout]   --> src/views/login_view.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum LoginViewAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VaultView` is never constructed
[INFO] [stdout]   --> src/views/vault_view.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct VaultView;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VaultViewAction` is never used
[INFO] [stdout]   --> src/views/vault_view.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum VaultViewAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `show` and `show_folder_editor` are never used
[INFO] [stdout]    --> src/views/vault_view.rs:37:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl VaultView {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn show(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn show_folder_editor(ctx: &egui::Context, editor: &mut FolderEditor) -> FolderEditorAction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.65s
[INFO] running `Command { std: "docker" "inspect" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db", kill_on_drop: false }`
[INFO] [stdout] d577a1d8baa59edd7185398b1c5a043c49f1b41e42757fc86881db2f19d471db
